package com.atguigu.tingshu.payment.service;

import jakarta.servlet.http.HttpServletRequest;

import java.util.Map;

public interface WxPayService {

    /**
     * 选择微信支付：1.保存本地交易记录  2.集成微信SDK获取小程序拉起微信支付所需参数
     *
     * @param paymentType 支付类型：1301=订单  1302=充值
     * @param orderNo     订单编号
     * @return {timeStamp:"时间戳",nonceStr:"随机字符串",package:"统一下单接口返回的 prepay_id", paySign:"签名", signType:"签名算法"}
     */
    Map<String, String> getMiniProgramePayParams(String paymentType, String orderNo);

    /**
     * 下单或充值微信支付成功后，收到来自微信支付结果通知
     *
     * @return {code:"SUCCESS",message:"成功"}
     */
    Map<String, String> wxPaySuccessNotify(HttpServletRequest request);

    /**
     * 根据商户端订单编号查询支付结果
     * @param orderNo
     * @return
     */
    Boolean queryPayStatus(String orderNo);
}
